﻿<?php

class Application_Model_Categorie extends Zend_Db_Table_Abstract {
	
		protected $_name = 'categorie';
		
		public function fetchAlldata()
		{
			$select = $this->select();
			$select->setIntegrityCheck(false)
					->from($this)
					->where('CATEGORIE_STATUT = ?','OK');
			return $this->fetchAll($select);
		}
		
		public function fetchByLibelle($libelle)
		{
			$select = $this->select();
			$select ->setIntegrityCheck(false)
					->from($this)
				    ->where('CATEGORIE_LIBELLE = ?', $libelle);
			return $this->fetchrow($select);
		}
		
		public function addCategorie($params) {
			//Test si la catégorie existe
			$categorierow = $this->fetchByLibelle($params['categorie']);
						
			//Si la catégorie n'existe pas encore on l'ajoute
			if(count($categorierow) == 0)
			{
				$categorie = $this->createRow(array(
				'CATEGORIE_LIBELLE' => $params['categorie'],
				'CATEGORIE_IMAGE' => $params['photo'],
				'CATEGORIE_STATUT' => 'OK'));
				
				$categorie->save();
			}
			else if($categorierow['CATEGORIE_STATUT'] == 'KO')
			{
				$where = $this->getAdapter()->quoteInto('CATEGORIE_ID = ?', $categorierow['CATEGORIE_ID']);
				$data = array ('CATEGORIE_STATUT' => 'OK');
				$this->update($data, $where);
			}
			else
			{
				//La catégorie existe déja et a pour statut OK
			}
			
		}
		
		 public function editCategorie($idcategorie,$params) {
		  $where = $this->getAdapter()->quoteInto('CATEGORIE_ID = ?', $idcategorie);
		  $data = array ( 
             'CATEGORIE_LIBELLE' => $params['categorie'],
		  	 'CATEGORIE_IMAGE' => $params['photo']);
		  $this->update($data, $where);
		}
		
		public function deleteCategorie($idcategorie) {
		   $where = $this->getAdapter()->quoteInto('CATEGORIE_ID = ?', $idcategorie);
		   
		   $categorie = $this->fetchRow($where);
		   $photo = $categorie->CATEGORIE_IMAGE;
		  
		   //Si la photo existe on l'a supprime
		   if(file_exists(PUBLIC_PATH.'/'.$photo))
		   {	
		   		$filename = PUBLIC_PATH.'/'.$photo;
		   	
		   		//On nous attribuant tous les droits au fichier
		  		 chmod($filename,0777);
		   
		   		unlink($filename);
		   }
		   
		   $data = array ('CATEGORIE_STATUT' => 'KO');
		   //On supprime la catégorie en passant son statut a KO
		   $this->update($data, $where);
		}
}
?>